import {
  divide, round,
} from 'number-precision';

import padEndZero from './padEndZero';

/**
 * @description 把数字转换成带小数的字符串，默认得到万分之一，并保留指定小数，若小数位不够，用0补齐，如210000转换为21.00（单位是万）
 * @export
 * @since 1.1.4
 * @example formatNumberDivisor(210000)
 * // 输出为
 * 21.00
 * @example formatNumberDivisor(210000, { precision: 0 })
 * // 输出为
 * 21
 * @param {number} [number=0]
 * @param {Object} options 选项
 * @param {number} [options.divisor = 10000] 除数，默认为10000，如果为100，则表示百分之一，如果为1，则表示原数保留两位小数
 * @param {number} [options.precision = 2] 保留几位小数
 * @returns {string}
 */
export default function formatNumberDivisor(
  number = 0,
  {
    divisor = 10000,
    precision = 2,
  } = {},
) {
  const num = round(divide(number, divisor), precision);
  return padEndZero(num, precision);
}
